﻿using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Web;
using Acaweb.Model.Entities;

namespace Acaweb.Servicios.Contracts
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IMateriasService" in both code and config file together.
    [ServiceContract]
    public interface IMateriasService
    {
        [WebInvoke(Method = "POST", UriTemplate = "GetAll", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]        
        List<Materias> GetAll();

        [WebInvoke(Method = "POST", UriTemplate = "GetById", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        Materias GetById(int Id);

        [Acaweb.Servicios.Utility.AmbitoRealizacion(new Acaweb.Servicios.Utility.Ambitos[] { Acaweb.Servicios.Utility.Ambitos.Estudiante, Acaweb.Servicios.Utility.Ambitos.Administrativo })]
        [WebInvoke(Method = "POST", UriTemplate = "GetHabilitadas", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Materias> GetHabilitadas(int CodigoEstudiante);
    }
}
